package com.unknownman.block.service;

import com.unknownman.block.entity.TContractLogs;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lianziyou.chain.common.api.CommonPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;


/**
 * <p>
 * 转账记录日志表 服务类
 * </p>
 *
 * @author xhy
 * @since 2021-10-19
 */
public interface TContractLogsService extends IService<TContractLogs> {

    /**
     * 查询转账记录日志表分页数据
     *
     * @param page  页码
     * @param limit 每页条数
     * @return CommonResult<TContractLogs>
     */
    CommonPage<TContractLogs> findListByPage(Integer page, Integer limit, String orderBy, QueryWrapper<TContractLogs> queryWrapper);

    /**
     * log是否存在
     *
     * @param hash
     * @param index
     * @return
     */
    public boolean existsByHashAndIndex(String hash, Long index);

    /**
     * 处理未处理的Token转账事件
     */
    public void processUntreatedTokenTransferLogs();


    /**
     * 处理未处理的swap事件
     */
    public void processSwapTokenTransferLogs();

    /**
     * 更新日志状态为已完成
     * @param id
     */
    public void updateStatusSuccess(Long id);

}
